package com.sz.admin.aichatmessage.pojo.po;

import com.mybatisflex.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.io.Serial;
import com.sz.mysql.EntityChangeListener;
import java.time.LocalDateTime;

/**
* <p>
* AI对话消息
* </p>
*
* @author sz-admin
* @since 2025-03-11
*/
@Data
@Table(value = "ai_chat_message", onInsert = EntityChangeListener.class, onUpdate = EntityChangeListener.class)
@Schema(description = "AI对话消息")
public class AiChatMessage implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @Schema(description ="主键")
    private Long id;

    @Schema(description ="第三方名称")
    private String thirdPartyName;

    @Schema(description ="会话id")
    private String sessionId;

    @Schema(description ="消息类型")
    private String type;

    @Schema(description ="消息内容")
    private String content;

    @Schema(description ="推理内容")
    private String reasoningContent;

    @Schema(description ="媒体消息内容")
    private String medias;

    @Schema(description ="模型平台")
    private String platformName;

    @Schema(description ="使用的模型")
    private String useModel;

    @Schema(description ="消费总token")
    private Integer totalToken;

    @Column(isLogicDelete = true)
    @Schema(description ="删除标记")
    private String delFlag;

    @Schema(description ="创建者")
    private String createBy;

    @Schema(description ="创建时间")
    private LocalDateTime createTime;

    @Schema(description ="更新者")
    private String updateBy;

    @Schema(description ="更新时间")
    private LocalDateTime updateTime;

    @Schema(description ="备注")
    private String remark;

}